System Workflow


Table of Contents


1. Overview

1.1 End-to-End Flow

1.2 Required Inputs

2. Creating a Lexicon (Scribe)

2.1 Input Sources

2.2 Configuration

2.3 Output

3. Inspecting a Lexicon (LAT)

3.1 Loading a Lexicon

3.2 View Modes

3.3 Weight Analysis

4. Preparing a Transformation (Engine)

4.1 Entering a Mnemonic

4.2 Parsing Behavior

4.3 Active Key Assembly

5. Executing a Transformation

5.1 Initial Index Selection

5.2 Forward Pass

5.3 Reverse Pass

5.4 Directional Behavior

6. Minimal Working Example

6.1 Example Lexicon

6.2 Example Mnemonic

6.3 Example Input Data

6.4 Step-by-Step Result

7. Variations

7.1 Repeated Words

7.2 Missing Words

7.3 Large Lexicons vs Small Lexicons

8. Failure Characteristics

8.1 No Error States

8.2 Always Produces Output

8.3 Compression Behavior

8.4 Implications for Validation

9. Workflow Patterns

9.1 Experimental Use

9.2 Reproducible Use

9.3 Airgapped Use




1. Overview

This document describes the complete operational workflow of the Vizini2 system, from lexicon generation through transformation execution.

The system is composed of three primary components:

Each component operates independently, but all rely on a shared data model and consistent terminology.

The workflow is deterministic: given identical inputs, the system will always produce identical output.

1.1 End-to-End Flow

At a high level, the Vizini workflow proceeds as follows:

  1. Lexicon Creation (Scribe) Input data is processed to generate a VLex containing structured transformation data (Chunks composed of S-boxes).
  2. Lexicon Inspection (LAT) (optional but recommended) The VLex is analyzed to understand structure, weight distribution, and potential mnemonic behavior.
  3. Mnemonic Definition (LAT Analyze) (Vizini2 Input) A human-readable mnemonic is selected to define how data from the VLex will be assembled.
  4. Active Key Assembly (Vizini2) The mnemonic is parsed and expanded into a linear Active Key composed of ordered S-boxes.
  5. Transformation Execution (Vizini2) Input data is processed through a two-pass transformation (forward and reverse), producing output data.

1.2 Required Inputs

To perform a transformation, the system requires the following inputs:

2. Creating a Lexicon (Scribe)

The Scribe component is responsible for generating a VLex (Vizini Lexicon) from input data.

This process transforms human-readable input into structured transformation data composed of Chunks and S-boxes. The resulting lexicon serves as the foundation for all subsequent operations.

The process of building a lexicon from a medium-sized .txt file may take several minutes to complete. Larger inputs, higher depth, and heavier chunks can increase processing time significantly, potentially exceeding an hour.

2.1 Input Sources

Scribe accepts two primary input methods:

2.2 Configuration

Scribe uses configurable parameters to control how input data is expanded into structured transformation data.

Depth (Iteration)

Defines how many distinct iterations are generated for each word.

Weight (S-Box Count)

Defines how many S-boxes are generated per Chunk.

Dice Math (DMER)

Depth and Weight values are resolved using a Dice Math Expression Resolver (DMER).

This system evaluates expressions such as:

Key properties:

Each evaluation produces a concrete integer used for Depth or Weight during lexicon creation.

Duplicate Handling

Defines how repeated words are handled during input processing:

This setting directly affects lexicon structure and mnemonic behavior.

2.3 Output

The result of the Scribe process is a fully constructed VLex containing structured transformation data and metadata.

Generated Chunks

Metadata

The VLex includes optional metadata fields for identification and documentation:

Metadata does not affect transformation behavior and is stored purely for usability and reference.

3. Inspecting a Lexicon (LAT)

The Lexicon Analysis Tool (LAT) provides visibility into the internal structure of a VLex.

It allows users to inspect how words, iterations, and Chunk weights are distributed, enabling informed decisions when constructing mnemonics or evaluating lexicon quality.

LAT does not modify the VLex. It is a read-only tool used for inspection and analysis.

3.1 Loading a Lexicon

A VLex is loaded directly into LAT from its SQLite file.

Once loaded, LAT parses the lexicon structure and exposes:

The integrity of the lexicon is assumed. LAT does not validate correctness beyond structural readability.

3.2 View Modes

LAT provides multiple ways to view lexicon data, depending on the level of detail required.

Aggregate Mode (*)

Displays all iterations of a word as a single grouped entry as word.depth.

This mode is best suited for high-level analysis and mnemonic planning.

Granular Mode (word.iteration)

Displays individual iterations of a word as word.iteration.

This mode is useful when precise control or detailed analysis is required.

3.3 Weight Analysis

LAT provides tools for understanding how weight is distributed across the lexicon and how it may affect transformation behavior.

Per-Word Weight

Mnemonic Weight Estimation

This allows users to:

4. Preparing a Transformation (Vizini2 Engine)

The Vizini2 Engine prepares a transformation by converting a human-readable mnemonic into a structured Active Key.

This process is deterministic and depends entirely on the provided VLex, mnemonic, and parameters.

4.1 Entering a Mnemonic

The mnemonic is a sequence of words entered by the user.

The mnemonic defines both:

Even small changes (word choice, order, or repetition) result in completely different Active Keys.

4.2 Parsing Behavior

The Engine parses the mnemonic sequentially from beginning to end.

For each word:

Key properties:

No normalization, correction, or validation is performed during parsing.

4.3 Active Key Assembly

The Active Key is constructed by appending all selected Chunks in sequence.

The result is a linear sequence of S-boxes, which is traversed via an index during transformation.

Resulting Properties:

All Chunk selection and ordering decisions are completed before transformation begins. The Active Key remains fixed for the duration of the process.

The mnemonic does not encode data directly; it defines how structured data is assembled and applied.

5. Executing a Transformation

Once the Active Key has been constructed, the Vizini2 Engine performs the transformation process.

This process operates on input data using a dynamic traversal of the Active Key. Behavior is influenced by both the current index position and the evolving output.

The transformation consists of two passes:

The order of these passes and the lookup behavior depend on the transformation direction.

5.1 Initial Index Selection

Two independent indices are required:

Each index:

These values are user-provided inputs.

Even small changes to either index result in completely different transformation behavior.

Both indices must be reproduced exactly to achieve a reversible transformation. There is no mechanism to infer or recover index values from output data.

5.2 Forward Pass

The forward pass processes data from beginning to end.

For each unit of data:

  1. The current index selects an S-box from the Active Key
  2. The value is transformed using that S-box
  3. The result is written as the output value for that step
  4. The index is updated[^1] using the value interpreted as ciphertext for the current operation

Key properties:

5.3 Reverse Pass

The reverse pass processes data from end to beginning.

For each unit of data:

  1. The current index selects an S-box from the Active Key
  2. The value is transformed using that S-box
  3. The result is written as the output value for that step
  4. The index is updated[^1] based on the value interpreted as ciphertext for the current operation

Key properties:

5.4 Directional Behavior

The Vizini2 Engine supports bidirectional transformation using the same underlying process.

Forward Transformation

Reverse Transformation

Independent index initialization ensures that both forward and reverse transformations have well-defined starting states, regardless of execution order.

Transformations are performed using two buffers. Each pass reads from a source buffer and writes results to a separate working buffer. Between passes, the buffers swap roles so that the next pass operates on the fully transformed output of the previous pass.

Resulting Behavior


[^1]: The index is updated as follows:

index := (index + value) mod Total Weight

Where:
- value is the quantity interpreted as ciphertext for the current operation
- Total Weight is the length of the Active Key (total number of S-boxes)

6. Minimal Working Example

For brevity and readability, the following examples are stripped down to only what is necessary to explain the process.

For these examples, we will use a lexicon with the filename Test.VLex

6.1 Example Lexicon

Inside Test.VLex are 2 tables

Metadata | Title | Test Sample | | Author | Test Monkey | | Notes | This is a Test of the Vizini2 Cipher Engine - This is only a test |

Chunks | Word | Iteration | Weight | |-----:|----------:|-------:| | the | 1 | 5 | | the | 2 | 3 | | cat | 1 | 7 | | bird | 1 | 2 | | ... | ... | ... |

From the.1 in the Chunks table, the following S-box is derived:

Input Output
0x00 0x63
0x01 0x42
0x02 0x7C
... ...
0xFF 0x16

6.2 Example Mnemonic

When using Test.VLex with the mnemonic The cat in the window sees the bird

The words in and window are absent and ignored.

The word the appears 3 times in the mnemonic, but has a depth of only 2, so the 3rd instance of the uses the first iteration from the lexicon due to modulo math.

The mnemonic resolves as: the.1 cat.1 the.2 sees.1 the.1 bird.1 with weights of 5 + 7 + 3 + 13 + 5 + 2, for a total weight of 35.

Initial Indices:

6.3 Example Input Data

For demonstration purposes, the input data will be a text file containing Kittens are cute.

0x4B 0x69 0x74 0x74 0x65 0x6E 0x73 0x20 0x61 0x72 0x65 0x20 0x63 0x75 0x74 0x65 0x2E

6.4 Step-by-Step Result

At each step, the S-box is selected using: S-box := ActiveKey[index mod Total Weight]

Using the Forward (Encrypt) direction will result in the following behavior.

Forward Pass:

Step Index Input Output Index + Ciphertext Updated Index
0 2 0x4B 0xBE 192 17
1 17 0x69 0x03 20 20
2 20 0x74 0xC2 214 4
3 4 0x74 0xF3 247 2
4 2 0x65 0x70 114 9
5 9 0x6E 0xDD 230 20
6 20 0x73 0x97 171 31
7 31 0x20 0xAD 204 29
8 29 0x61 0xEA 263 18
9 18 0x72 0xDF 251 6
10 6 0x65 0xED 243 33
11 33 0x20 0x17 56 21
12 21 0x63 0x8B 160 20
13 20 0x75 0x9A 174 34
14 34 0x74 0x52 116 11
15 11 0x65 0x13 30 30
16 30 0x2E 0x20 ⤞ N/A

⤞ indicates the final step, after which no further index update is required.

Reverse Pass (operating on output of Forward Pass):

Step Index Input Output Index + Ciphertext Updated Index
0 7 0x20 0xBD 196 21
1 21 0x13 0xE9 254 9
2 9 0x52 0x07 16 16
3 16 0x9A 0xB6 198 23
4 23 0x8B 0xCD 228 18
5 18 0x17 0xE8 250 5
6 5 0xED 0x04 9 9
7 9 0xDF 0xC0 201 26
8 26 0xEA 0x90 170 30
9 30 0xAD 0xC3 225 15
10 15 0x97 0x83 146 6
11 6 0xDD 0xB1 183 8
12 8 0x70 0xEF 247 2
13 2 0xF3 0x51 53 18
14 18 0xC2 0x11 35 0
15 0 0x03 0xDC 220 10
16 10 0xBE 0xD1 ⤞ N/A

Final Output (Hex): 0xD1 0xDC 0x11 0x51 0xEF 0xB1 0x83 0xC3 0x90 0xC0 0x04 0xE8 0xCD 0xB6 0x07 0xE9 0xBD

Repeating this process in Reverse (Decrypt) mode with the same mnemonic and initial indices will reproduce the original input data exactly.

7. Variations

The Vizini2 Engine permits flexible mnemonic construction. The following variations describe how different mnemonic characteristics influence transformation behavior.

7.1 Repeated Words

Words may be repeated within a mnemonic. Each occurrence is processed independently and contributes to the Active Key.

Implications:

7.2 Missing Words

Words that are not present in the VLex are ignored during parsing.

Implications:

7.3 Lexicon Scale and Structure

The behavior of the Vizini2 Engine is influenced by multiple independent properties of the VLex. “Large” and “small” lexicons may differ along several dimensions, each with distinct effects.

Vocabulary Size (Number of Words)

The total number of unique words available in the VLex.

Effects:

Implications:

Iteration Depth (Per-Word Variants)

The number of iterations (Chunks) available for a given word.

Effects:

Implications:

Chunk Weight (S-box Count per Chunk)

The number of S-boxes contributed by each Chunk.

Effects:

Implications:

Combined Effects

These properties interact to determine the overall structure of the Active Key.

Result:

The structure and behavior of the transformation depend not only on the mnemonic, but on how the lexicon distributes vocabulary, depth, and weight.

There is no single definition of an “optimal” lexicon; effectiveness depends on how these properties are balanced for the intended use case.

8. Failure Characteristics

The Vizini2 Engine is designed such that all valid inputs produce output. As a result, traditional error states are largely absent. This section describes behaviors that may be mistaken for failure but are inherent to the system’s design.

8.1 No Error States

The engine does not define internal failure conditions during transformation.

Implications:

8.2 Always Produces Output

For any given combination of input data, mnemonic, and lexicon, the engine will produce output data of equal length.

Implications:

8.3 Compression Behavior

Encrypted output is not guaranteed to be incompressible.

While the system aims to produce high-entropy transformations, certain combinations of:

may introduce incidental structure in the output.

As a result:

This phenomenon reflects the system's stateful and structured transformation model rather than a failure condition.

8.4 Implications for Validation

The engine is deterministic, but not self-validating.

Because the system lacks explicit error states, validation must be performed externally.

Recommended approaches:

9. Workflow Patterns

The Vizini2 Engine supports multiple usage patterns depending on user goals. These patterns describe common approaches to balancing flexibility, reproducibility, and operational constraints.

9.1 Experimental Use

Experimental workflows prioritize exploration and variation over reproducibility.

Characteristics:

Implications:

9.2 Reproducible Use

Reproducible workflows prioritize consistency and determinism.

Characteristics:

Implications:

9.3 Airgapped Use

Airgapped workflows prioritize isolation and control over external dependencies.

Characteristics:

Implications:

These workflow patterns are not mutually exclusive. Effective use of the Vizini2 Engine often involves combining elements of each approach based on operational needs.